package com.zjj.disk.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtils {
    /**
     * 将字符串转换为 Date 类型
     *
     * @param dateStr 字符串日期
     * @return 转换后的 Date 对象
     * @throws ParseException 如果解析失败
     */
    public static Date convertStringToDate(String dateStr) throws ParseException {
        // 定义输入日期格式
        SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd");

        // 解析输入的日期字符串
        return inputFormat.parse(dateStr);
    }

    /**
     * 将 Date 对象格式化为 "yyyy-MM-dd" 格式的字符串
     *
     * @param date Date 对象
     * @return 格式化后的日期字符串
     */
    public static String formatDate(Date date) {
        // 定义输出日期格式
        SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");

        // 格式化日期为字符串
        return outputFormat.format(date);
    }

    public static void main(String[] args) {
        try {
            String dateStr = "2024-11-05T16:00:00.000Z";

            // 将字符串转换为 Date 对象
            Date date = convertStringToDate(dateStr);
            System.out.println("Date object: " + date); // 输出: Date object: Sun Oct 01 00:00:00 GMT 2023

            // 将 Date 对象格式化为 "yyyy-MM-dd" 格式的字符串
            String formattedDate = formatDate(date);
            System.out.println("Formatted date: " + formattedDate); // 输出: Formatted date: 2023-10-01
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}
